//这个组件用来做路由的权限验证
import NotFound from '../view/NotFound/NotFound';
import { Suspense } from 'react';
import Loading from "../component/Loading/Loading"


interface Props {
  perm: never,
  children: any
}


//作用:传入一个权限标识,一个组件,判断组件Com是否有perm对应的权限
export default function RouterAuth(props: Props) {
  //获取当前登录用户的权限列表(checkedkeys)
  var checkedKeys = localStorage.getItem("checkedKeys") || []
  //判断perm是否在用户的权限列表中
  var res = checkedKeys.length == 0 || checkedKeys.includes(props.perm);//适用于本项目,admin的权限数组是空的,需要有所有权限
  // var res =checkedKeys.includes(perm);



  // if(res){
  //     return <Com />
  // }else{
  //     return <NotFound/>
  // }
  return <Suspense fallback={<Loading/>}>{res ? props.children : <NotFound />}</Suspense>//每一个组件都会被suspense包裹,可以防止闪烁
}